package com.vchello.bean.pro;

import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.vchello.bean.lib.Area;
import com.vchello.bean.lib.Field;
import com.vchello.bean.lib.Round;
import com.vchello.bean.lib.Unit;
import com.vchello.bean.user.User;
import com.vchello.bean.user.UserProgress;

/**
 * 
 * @author power 项目
 */
@TableName("pro")
public class Pro extends Model<Pro> {

	private static final long serialVersionUID = 1L;

	@TableId("id")
	private int id;

	@TableField("name")
	private String name;
	
	@TableField("company")
	private String company;

	@TableField("user_id")
	private int userId;

	@TableField("logo")
	private String logo;

	@TableField("create_time")
	private String createTime;

	@TableField("link")
	private String link;

	@TableField("bp")
	private String bp;

	/**
	 * 股权
	 */
	@TableField("stock")
	private Float stock;

	@TableField("money")
	private Float money;

	/**
	 * 1:人民币 2：美元
	 */
	@TableField("currency")
	private int currency;
	
	/**
	 * 优先级
	 */
	@TableField("unit")
	private int unit;

	/**
	 * 联络人名字
	 */
	@TableField("contacts_name")
	private String contactsName;

	/**
	 * 联络人电话
	 */
	@TableField("contacts_phone")
	private String contactsPhone;

	@TableField("type")
	private int type;

	@TableField("hide")
	private int hide;

	/**
	 * 项目简介
	 */
	@TableField("pro_detail")
	private String proDetail;

	/**
	 * 地区id
	 */
	private int areaId;

	/**
	 * 轮次id
	 */
	private int roundId;

	/**
	 * 项目进度
	 */
	private int progressId;

	/**
	 * 领域表id
	 */
	@TableField("field_id")
	private int fieldId;

	@TableField(exist = false)
	private Unit unitvo;

	@TableField(exist = false)
	private Area area;

	@TableField(exist = false)
	private List<ProLables> proLablesList;

	@TableField(exist = false)
	private Field field;

	@TableField(exist = false)
	private List<InvestNote> investNoteList;

	@TableField(exist = false)
	private List<ProFollow> proFollowList;

	@TableField(exist = false)
	private Round round;

	@TableField(exist = false)
	private UserProgress userProgress;

	@TableField(exist = false)
	private User user;

	@TableField(exist = false)
	private List<ProMilepost> proMilepostList;

	@TableField(exist = false)
	private List<ProOrganization> proOrganizationList;

	@TableField(exist = false)
	private ProjectChange projectChange;
	
	public Pro() {
		super();
	}

	public Pro(String name, int userId, String logo, String createTime, String link, String bp, Float stock,
			Float money, int currency, int unit, String contactsName, String contactsPhone, int type, int hide,
			String proDetail, int areaId, int roundId, int progressId, int fieldId, String company) {
		super();
		this.name = name;
		this.userId = userId;
		this.logo = logo;
		this.createTime = createTime;
		this.link = link;
		this.bp = bp;
		this.stock = stock;
		this.money = money;
		this.currency = currency;
		this.unit = unit;
		this.contactsName = contactsName;
		this.contactsPhone = contactsPhone;
		this.type = type;
		this.hide = hide;
		this.proDetail = proDetail;
		this.areaId = areaId;
		this.roundId = roundId;
		this.progressId = progressId;
		this.fieldId = fieldId;
		this.company = company;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getUserId() {
		return userId;
	}

	public void setUserId(int userId) {
		this.userId = userId;
	}

	public String getLogo() {
		return logo;
	}

	public void setLogo(String logo) {
		this.logo = logo;
	}

	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

	public String getLink() {
		return link;
	}

	public void setLink(String link) {
		this.link = link;
	}

	public String getBp() {
		return bp;
	}

	public void setBp(String bp) {
		this.bp = bp;
	}

	public Float getStock() {
		return stock;
	}

	public void setStock(Float stock) {
		this.stock = stock;
	}

	public Float getMoney() {
		return money;
	}

	public void setMoney(Float money) {
		this.money = money;
	}

	public int getUnit() {
		return unit;
	}

	public void setUnit(int unit) {
		this.unit = unit;
	}

	public String getContactsName() {
		return contactsName;
	}

	public void setContactsName(String contactsName) {
		this.contactsName = contactsName;
	}

	public String getContactsPhone() {
		return contactsPhone;
	}

	public void setContactsPhone(String contactsPhone) {
		this.contactsPhone = contactsPhone;
	}

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public int getHide() {
		return hide;
	}

	public void setHide(int hide) {
		this.hide = hide;
	}

	public String getProDetail() {
		return proDetail;
	}

	public void setProDetail(String proDetail) {
		this.proDetail = proDetail;
	}

	public List<ProLables> getProLablesList() {
		return proLablesList;
	}

	public void setProLablesList(List<ProLables> proLablesList) {
		this.proLablesList = proLablesList;
	}

	public int getFieldId() {
		return fieldId;
	}

	public void setFieldId(int fieldId) {
		this.fieldId = fieldId;
	}

	public Field getField() {
		return field;
	}

	public void setField(Field field) {
		this.field = field;
	}

	public List<InvestNote> getInvestNoteList() {
		return investNoteList;
	}

	public void setInvestNoteList(List<InvestNote> investNoteList) {
		this.investNoteList = investNoteList;
	}

	public List<ProFollow> getProFollowList() {
		return proFollowList;
	}

	public void setProFollowList(List<ProFollow> proFollowList) {
		this.proFollowList = proFollowList;
	}

	public int getAreaId() {
		return areaId;
	}

	public void setAreaId(int areaId) {
		this.areaId = areaId;
	}

	public int getRoundId() {
		return roundId;
	}

	public void setRoundId(int roundId) {
		this.roundId = roundId;
	}

	public Area getArea() {
		return area;
	}

	public void setArea(Area area) {
		this.area = area;
	}

	public Round getRound() {
		return round;
	}

	public void setRound(Round round) {
		this.round = round;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public int getProgressId() {
		return progressId;
	}

	public void setProgressId(int progressId) {
		this.progressId = progressId;
	}

	public UserProgress getUserProgress() {
		return userProgress;
	}

	public void setUserProgress(UserProgress userProgress) {
		this.userProgress = userProgress;
	}

	public Unit getUnitvo() {
		return unitvo;
	}

	public void setUnitvo(Unit unitvo) {
		this.unitvo = unitvo;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public int getCurrency() {
		return currency;
	}

	public void setCurrency(int currency) {
		this.currency = currency;
	}

	public List<ProMilepost> getProMilepostList() {
		return proMilepostList;
	}

	public void setProMilepostList(List<ProMilepost> proMilepostList) {
		this.proMilepostList = proMilepostList;
	}

	public List<ProOrganization> getProOrganizationList() {
		return proOrganizationList;
	}

	public void setProOrganizationList(List<ProOrganization> proOrganizationList) {
		this.proOrganizationList = proOrganizationList;
	}

	public ProjectChange getProjectChange() {
		return projectChange;
	}

	public void setProjectChange(ProjectChange projectChange) {
		this.projectChange = projectChange;
	}

	public String getCompany() {
		return company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}
}